import json

# 态势模型处理函数
def handle_situation_model(data):
    try:
        # 生成结果的基础结构
        situation_results = {"situation_analysis": []}

        # 遍历 JSON 数组中的每个表格
        for table in data:
            table_name = table.get("tableName")
            rows = table.get("data")  # rows 应该是一个列表

            if not isinstance(rows, list):
                raise ValueError("数据字段 'data' 应该是一个列表")

            # 遍历每一行数据进行分析
            for row in rows:
                # 确保 row 是字典类型
                if not isinstance(row, dict):
                    raise ValueError("每一行数据应该是一个字典")

                # 根据不同的字段分析数据
                if table_name == "11402_achinery_roadway_history":
                    scan_rate = row.get("scan_rate")
                    description = row.get("description")

                    # 简单的条件判断示例
                    if scan_rate and int(scan_rate) > 50:
                        situation = f"设备扫描频率高 ({scan_rate})，状态正常。"
                    else:
                        situation = f"设备扫描频率低 ({scan_rate})，需要检查。"

                    # 添加分析结果
                    situation_results["situation_analysis"].append({
                        "tableName": table_name,
                        "id": row.get("id"),
                        "situation": situation,
                        "description": description
                    })

        # 返回处理后的结果
        return json.dumps(situation_results, ensure_ascii=False, indent=4)

    except Exception as e:
        return json.dumps({"error": str(e)})
